A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office records, but otherwise reserves all copyright rights whatsoever.
The computer program listing appendix submitted on compact disc in duplicate in file CSB1056 is incorporated by reference.
This invention relates generally to image-forming systems and processes, and specifically to systems and processes involving the transformation of color image signals from one form into another.
Modern imaging systems used in the pre-press, printing, computer graphics, and related industries make extensive use of color image information. This information is sometimes derived from scanning photographs and other xe2x80x9chardcopyxe2x80x9d images, and is in other instances obtained directly from a computer-generated graphics file.
Various sources of color images produce digital data files in which color is specified in various ways. Furthermore, different types of output devices, for instance computer monitors, color ink-jet and laser printers, and imagesetters, are designed to operate using various different standards for defining colors.
One common component of an image-forming system is a page description language interpreter, for instance as produced by Adobe Systems Incorporated for interpretation of the PostScript(copyright) page description language. One function of apparatus employing such interpreters is to accept, as input, signals corresponding to imaging commands written in a page description language and to produce, as output, signals recognizable by an imaging engine, such as a laser print engine of a conventional color laser printer. Further pertinent background is presented in the POSTSCRIPT LANGUAGE REFERENCE MANUAL, SECOND EDITION, Adobe Systems Inc., pp. 176-192, 295-302 (Addison-Wesley 1990), the contents of which are incorporated herein by reference.
In performing the transformation from input to output in such apparatus, it is often necessary to convert signals representing a color from one format to another format. Such formats are sometimes referred to as color spaces. For example, a color produced by a computer graphics workstation may initially be specified as separate Red, Green, and Blue values in an xe2x80x9cRGBxe2x80x9d color space. For printing of a corresponding image, it may be necessary to transform a color signal from the RGB color space to, for example, the xe2x80x9cCMYKxe2x80x9d color space for printing using Cyan, Magenta, Yellow, and Black (or xe2x80x9cKeyxe2x80x9d) colorants. Intermediate color signal transformations also are often called for in order to provide certain benefits, such as the ability to work with a number of different image source devices and image forming devices.
Two general approaches are conventionally used for such color space transformation. In one approach, a mathematical relationship between the input-color space and the output color space is determined, and a computer program is implemented to compute output color space signal values from any given set of input color space signal values.
A second approach is to use a conventional xe2x80x9clook-up tablexe2x80x9d stored in computer memory that, for particular values of input color space signals, provides corresponding values of output color space signals. In some instances, more possible inputs exist than would be practical to provide as look-up table inputs. xe2x80x9cSparsexe2x80x9d look-up tables, with interpolation for in-between values, are typically used in such cases.
The processing required to perform such color space transformations using conventional techniques is computationally intensive and requires a relatively large amount of computer memory, which in turn requires the use of more expensive equipment to perform such processing.
It would be desirable for an image processing system to process color transformations in a manner that is more efficient than possible with the known techniques. No known solution adequately addresses the need for a simple, flexible, inexpensive system and process for color transformations.
In accordance with the present invention, a system (100) for processing images includes an image file subsystem (201) providing a source signal representing an input image; a color transformation subsystem (202) operatively coupled to the image file subsystem and accepting as input the source signal and producing a target signal therefrom, and an image forming subsystem (203) operatively coupled to the color transformation subsystem and forming a physical manifestation of the input image in response to the target signal, the color transformation subsystem being configured to establish a memory xe2x80x9ccubexe2x80x9d area representative of possible source signals, to define a sub-cube portion of the memory area as representative of said source signal; to determine possible target signals corresponding to the sub-cube portion; and to determine the target signal in response to the possible target signals.
Also in accordance with the present invention, the color transformation subsystem is further configured to divide the sub-cube portion into mini-cube portions and to determine possible target signals corresponding to each mini-cube portion.
Further in accordance with the present invention, the color transformation subsystem is configured to determine an accuracy of interpolation for each of the mini-cubes.
Still further in accordance with the present invention, the color transformation subsystem is configured to determine the target signal in a first manner if an accuracy of interpolation exceeds a predetermined threshold and to determine the target signal in a second manner if the accuracy of interpolation does not exceed a predetermined threshold. The first manner may include truncation or interpolation.
Yet further in accordance with the present invention, the color transformation subsystem is configured to add a noise signal to the source signal and truncate the resulting signal.
In another aspect of the invention, a method of processing a color image source signal to produce a target signal includes establishing a memory area representative of possible source signals; defining a sub-cube portion of the memory area as representative of a source signal; determining possible target signals corresponding to the sub-cube portion; and determining the target signal in response to the possible target signals.
Also in accordance with this aspect of the present invention, the method further includes dividing the sub-cube portion into mini-cube portions and determining possible target signals corresponding to each mini-cube portion.
Further in accordance with this aspect of the present invention, method includes determining an accuracy of interpolation for each of the mini-cubes.
Still further in accordance with this aspect of the present invention, the method includes determining the target signal in a first manner if an accuracy of interpolation exceeds a predetermined threshold and determining the target signal in a second manner if an accuracy of interpolation does not exceed a predetermined threshold. The first manner may include truncation or interpolation.
Yet further in accordance with this aspect of the present invention, the method includes adding a noise signal to the source signal and truncating the resulting signal.
The features and advantages described in the specification are not all-inclusive, and particularly, many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims hereof. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter, resort to the claims being necessary to determine such inventive subject matter.